#ifndef CIVIEW_GROUND_H
#define CIVIEW_GROUND_H

#include <QtOpenGL>

#include "../Core/Size.h"
#include "../Core/Orientation.h"

namespace CIView {
    /**
     * This class represents the grid to show as ground for the 3D scene     
     **/
    class GridGround {
        //Friend classes
        friend class View;

    public:
        GridGround();                               //Default Constructor
        GridGround (int _edgeLength);               //Constructor
        virtual ~GridGround();                      //Destructor

    protected:
        int edgeLength;                 //The ground edge length
        int parts;                      //The number of parts the ground's edge has to be divided

    public:
        //Utility Methods
        void Render();                              //Method called whenever the ground has to be rendered
        
        void SetEdgeLength (int _edgeLength);       //Setter Method to set the ground edge length
        void SetEdgePartition (int p);              //Setter Method to set the number of parts the ground's edge has to be divided
    };
}

#endif /* CIVIEW_GROUND_H */
